//
//  TTSetting.h
//  Tint
//
//  Created by Kevin Wu on 12/7/12.
//
//

#import <Foundation/Foundation.h>
#import "Core/Core.h"
#import "Additions/Additions.h"


@interface TTSetting : NSObject {
    NSMutableDictionary *_settings;
}

+ (TTSetting *)sharedObject;
+ (BOOL)hasSharedObject;
+ (void)destroySharedObject;

- (NSArray *)keys;
- (NSUInteger)count;
- (BOOL)hasValueForKey:(NSString *)key;

- (BOOL)boolForKey:(NSString *)key;
- (int)intForKey:(NSString *)key;
- (long long)longLongForKey:(NSString *)key;
- (double)doubleForKey:(NSString *)key;
- (NSString *)stringForKey:(NSString *)key;
- (id)objectForKey:(NSString *)key;

- (void)setBool:(BOOL)value forKey:(NSString *)key;
- (void)setInt:(int)value forKey:(NSString *)key;
- (void)setLongLong:(long long)value forKey:(NSString *)key;
- (void)setDouble:(double)value forKey:(NSString *)key;
- (void)setString:(NSString *)value forKey:(NSString *)key;
- (void)setObject:(NSObject *)value forKey:(NSString *)key;

- (BOOL)synchronize;
- (void)dump;

@end
